﻿#include "FITKAbaMassScalingDefinition.h"


Interface::FITKAbaMassScalingDefinition::~FITKAbaMassScalingDefinition()
{
    delete m_location;
}

Interface::FITkMassScalarEnum::MassScalingObjective Interface::FITKAbaMassScalingDefinition::getMassScalingObjectvie() const
{
    return m_Objectvie;
}

void Interface::FITKAbaMassScalingDefinition::setMassScalingObjective(FITkMassScalarEnum::MassScalingObjective value)
{
    m_Objectvie = value;
}

Interface::FITkMassScalarEnum::MassScalingApplicationRegion Interface::FITKAbaMassScalingDefinition::getMassScalingApplicationRegion() const
{
    return m_application;
}

void Interface::FITKAbaMassScalingDefinition::setMassScalingApplicationRegion(FITkMassScalarEnum::MassScalingApplicationRegion region)
{
    m_application = region;
}

Interface::FITkMassScalarEnum::MassScalingApplicationScale Interface::FITKAbaMassScalingDefinition::getMassScalingApplicationScale() const
{
    return m_applicationScale;
}

void Interface::FITKAbaMassScalingDefinition::setMassScalingApplicationScale(FITkMassScalarEnum::MassScalingApplicationScale scale)
{
    m_applicationScale = scale;
}

Interface::FITKBoundaryLocation* Interface::FITKAbaMassScalingDefinition::getLocation()
{
    return m_location;
}

bool Interface::FITKAbaMassScalingDefinition::getScaleByFactor() const
{
    return m_scaleByFactor;
}

void Interface::FITKAbaMassScalingDefinition::setScaleByFactor(bool stat)
{
    m_scaleByFactor = stat;
}

double Interface::FITKAbaMassScalingDefinition::getScalerFactor() const
{
    return m_scaleFactor;
}

void Interface::FITKAbaMassScalingDefinition::setScalerFactor(double factor)
{
    m_scaleFactor = factor;
}

bool Interface::FITKAbaMassScalingDefinition::getScalerToTargetTimeIncrement() const
{
    return m_scaleToTargetTimeIncrement;
}

void Interface::FITKAbaMassScalingDefinition::setScalerToTargetTimeIncrement(bool stat)
{
    m_scaleToTargetTimeIncrement = stat;
}

double Interface::FITKAbaMassScalingDefinition::getTargetIncrement() const
{
    return m_targetIncrement;
}

void Interface::FITKAbaMassScalingDefinition::setTargetIncrement(double inc)
{
    m_targetIncrement = inc;
}

Interface::FITkMassScalarEnum::MassScalingScaleElementMass Interface::FITKAbaMassScalingDefinition::getScaleElementMass() const
{
    return m_scaleElementMass;
}

void Interface::FITKAbaMassScalingDefinition::setScaleElementMass(FITkMassScalarEnum::MassScalingScaleElementMass type)
{
    m_scaleElementMass = type;
}

Interface::FITkMassScalarEnum::MassScalingFrequency Interface::FITKAbaMassScalingDefinition::getMassScalingFrequency() const
{
    return m_frequency;
}

void Interface::FITKAbaMassScalingDefinition::setMassScalingFrequency(FITkMassScalarEnum::MassScalingFrequency type)
{
    m_frequency = type;
}

int Interface::FITKAbaMassScalingDefinition::getEveryIncrementNumber() const
{
    return m_evertyIncrementsNumber;
}

void Interface::FITKAbaMassScalingDefinition::setEveryIncrementNumber(int num)
{
    m_evertyIncrementsNumber = num;
}

int Interface::FITKAbaMassScalingDefinition::getNumberOfIntervals() const
{
    return m_atNumberOfIntervals;
}

void Interface::FITKAbaMassScalingDefinition::setNumberOfInvtervals(int num)
{
    m_atNumberOfIntervals = num;
}

Interface::FITKAbaMassScalingDefinition::FITKAbaMassScalingDefinition()
{
    m_location = new FITKBoundaryLocation;
}

Interface::FITKAbaMassScalingDefinition::FITKAbaMassScalingDefinition(const FITKAbaMassScalingDefinition &msd)
{
    m_Objectvie = msd.m_Objectvie;
    m_application = msd.m_application;
    m_applicationScale = msd.m_applicationScale;
    m_location = new FITKBoundaryLocation;
    *m_location = *msd.m_location;
    m_scaleByFactor = msd.m_scaleByFactor;
    m_scaleFactor = msd.m_scaleFactor;
    m_scaleToTargetTimeIncrement = msd.m_scaleToTargetTimeIncrement;
    m_targetIncrement = msd.m_targetIncrement;
    m_scaleElementMass = msd.m_scaleElementMass;
    m_frequency = msd.m_frequency;
    m_evertyIncrementsNumber = msd.m_evertyIncrementsNumber;
    m_atNumberOfIntervals = msd.m_atNumberOfIntervals;
    m_FeedRate = msd.m_FeedRate;
    m_extrudedElementLength = msd.m_extrudedElementLength;
    m_NodesInCrossSection = msd.m_NodesInCrossSection;
}

Interface::FITKAbaMassScalingDefinition &Interface::FITKAbaMassScalingDefinition::operator=(const FITKAbaMassScalingDefinition &msd)
{
    m_Objectvie = msd.m_Objectvie;
    m_application = msd.m_application;
    m_applicationScale = msd.m_applicationScale;
    *m_location = *msd.m_location;
    m_scaleByFactor = msd.m_scaleByFactor;
    m_scaleFactor = msd.m_scaleFactor;
    m_scaleToTargetTimeIncrement = msd.m_scaleToTargetTimeIncrement;
    m_targetIncrement = msd.m_targetIncrement;
    m_scaleElementMass = msd.m_scaleElementMass;
    m_frequency = msd.m_frequency;
    m_evertyIncrementsNumber = msd.m_evertyIncrementsNumber;
    m_atNumberOfIntervals = msd.m_atNumberOfIntervals;
    m_FeedRate = msd.m_FeedRate;
    m_extrudedElementLength = msd.m_extrudedElementLength;
    m_NodesInCrossSection = msd.m_NodesInCrossSection;
    return *this;
}



namespace Interface {
double FITKAbaMassScalingDefinition::getFeedRate() const
{
    return m_FeedRate;
}

void FITKAbaMassScalingDefinition::setFeedRate(double newFeedRate)
{
    m_FeedRate = newFeedRate;
}

double FITKAbaMassScalingDefinition::getExtrudedElementLength() const
{
    return m_extrudedElementLength;
}

void FITKAbaMassScalingDefinition::setExtrudedElementLength(double newExtrudedElementLength)
{
    m_extrudedElementLength = newExtrudedElementLength;
}

int FITKAbaMassScalingDefinition::getNodesInCrossSection() const
{
    return m_NodesInCrossSection;
}

void FITKAbaMassScalingDefinition::setNodesInCrossSection(int newNodesInCrossSection)
{
    m_NodesInCrossSection = newNodesInCrossSection;
}

}
